/**
 * 
 */
package com.ryan.framework.exception;

public class AppUnTxException extends AbstractException{

	/**
	 * 
	 */
	private static final long serialVersionUID = -2453796106181196911L;
	
	public AppUnTxException() {
        super();
    }

    public AppUnTxException(String message) {
        super(message);
    }

    public AppUnTxException(Throwable cause) {
        super(cause);
    }

    public AppUnTxException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Constructs an AppUnTxException with exception ID and error level
     * 
     * @param message
     *            The exception ID, then retrieve detailed error message based
     *            on it
     * @param errorLevel
     *            The error level used for monitoring
     */
    public AppUnTxException(String message, ErrorLevel errorLevel) {
        super(message);
        this.errorLevel = errorLevel;
    }
    /**
     * Constructs an AppUnTxException with exception ID and error level
     * 
     * @param message
     *            The exception ID, then retrieve detailed error message based
     *            on it
     * @param errorLevel
     *            The error level used for monitoring
     * @param arguments
     *            The arguments replaced the agruments of error message             
     */
    public AppUnTxException(String message, ErrorLevel errorLevel,Object[] arguments) {
        super(message);
        this.errorLevel = errorLevel;
        this.arguments=arguments;
    }

    /**
     * Constructs an AppUnTxException with exception ID, root cause and error leve
     * 
     * @param message
     *            The exception ID, which is used to get detailed error message
     * @param cause
     *            The root cause (stack trace)
     * @param errorLevel
     *            The error level used for monitoring
     */
    public AppUnTxException(String message, Throwable cause, ErrorLevel errorLevel) {
        super(message, cause);
        this.errorLevel = errorLevel;
    }

}
